package com.csproj.basic.service.dto;


import java.io.Serializable;
import java.time.ZonedDateTime;
import java.util.Objects;

/**
 * A DTO for the CollarRecord entity.
 */
public class CollarRecordDTO implements Serializable {

    private String id;

    private Integer deviceType;

    private String deviceId;

    private String receiverId;

    private String receiverName;

    private  ZonedDateTime receiveDate;

    private  ZonedDateTime backDate;

    private String state;

    private Boolean deletedFlag;

    private String deleterUserId;

    private ZonedDateTime deletionTime;

    private ZonedDateTime lastModificationTime;

    private String lastModifierUserId;

    private ZonedDateTime creationTime;

    private String creatorUserId;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Integer getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(Integer deviceType) {
        this.deviceType = deviceType;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getReceiverId(){return  receiverId;}

    public void setReceiverId(String receiverId){ this.receiverId = receiverId;}

    public String getReceiverName() {
        return receiverName;
    }

    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName;
    }

    public  ZonedDateTime getReceiveDate()
    {
        return  this.receiveDate;
    }

    public void setReceiveDate(ZonedDateTime receiveDate) {
        this.receiveDate = receiveDate;
    }

    public ZonedDateTime getBackDate() {
        return backDate;
    }

    public void setBackDate(ZonedDateTime backDate) {
        this.backDate = backDate;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public Boolean isDeletedFlag() {
        return deletedFlag;
    }

    public void setDeletedFlag(Boolean deletedFlag) {
        this.deletedFlag = deletedFlag;
    }

    public String getDeleterUserId() {
        return deleterUserId;
    }

    public void setDeleterUserId(String deleterUserId) {
        this.deleterUserId = deleterUserId;
    }

    public ZonedDateTime getDeletionTime() {
        return deletionTime;
    }

    public void setDeletionTime(ZonedDateTime deletionTime) {
        this.deletionTime = deletionTime;
    }

    public ZonedDateTime getLastModificationTime() {
        return lastModificationTime;
    }

    public void setLastModificationTime(ZonedDateTime lastModificationTime) {
        this.lastModificationTime = lastModificationTime;
    }

    public String getLastModifierUserId() {
        return lastModifierUserId;
    }

    public void setLastModifierUserId(String lastModifierUserId) {
        this.lastModifierUserId = lastModifierUserId;
    }

    public ZonedDateTime getCreationTime() {
        return creationTime;
    }

    public void setCreationTime(ZonedDateTime creationTime) {
        this.creationTime = creationTime;
    }

    public String getCreatorUserId() {
        return creatorUserId;
    }

    public void setCreatorUserId(String creatorUserId) {
        this.creatorUserId = creatorUserId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        CollarRecordDTO collarRecordDTO = (CollarRecordDTO) o;
        if(collarRecordDTO.getId() == null || getId() == null) {
            return false;
        }
        return Objects.equals(getId(), collarRecordDTO.getId());
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(getId());
    }

    @Override
    public String toString() {
        return "CollarRecordDTO{" +
            "id=" + getId() +
            ", deviceType=" + getDeviceType() +
            ", deviceId='" + getDeviceId() + "'" +
                ", receiverId='" + getReceiverId() + "'" +
                ", receiverName='" + getReceiverName() + "'" +
                ", receiveDate='" + getReceiveDate() + "'" +
                ", backDate='" + getBackDate() + "'" +
            ", state='" + getState() + "'" +
            ", deletedFlag='" + isDeletedFlag() + "'" +
            ", deleterUserId='" + getDeleterUserId() + "'" +
            ", deletionTime='" + getDeletionTime() + "'" +
            ", lastModificationTime='" + getLastModificationTime() + "'" +
            ", lastModifierUserId='" + getLastModifierUserId() + "'" +
            ", creationTime='" + getCreationTime() + "'" +
            ", creatorUserId='" + getCreatorUserId() + "'" +
            "}";
    }
}
